package com.amex.uam.service;

import com.amex.uam.model.AMEX_BUSINESS;
import com.amex.uam.model.AMEX_UNIT;
import com.amex.uam.model.MS_USER_ADMIN;
import com.amex.uam.model.Message;
import com.amex.uam.model.USER_DEPT;
import com.microstrategy.web.objects.WebIServerSession;

public interface UserService {
	public Message searchUser(String searchParam, String searchDBFldString, WebIServerSession session);
	public Message loadUserProfile(String userId);
	public Message loadUserSecurityGroup(String amexWebId);
	public Message loadGEOCTRYByAmexWebId(String amexWebId);
	public Message loadGEORGNByAmexWebId(String amexWebId);
	public int updateVUPUSRGenInfo(MS_USER_ADMIN mua);
	public boolean updateVUPUSRDept(USER_DEPT ud);
	public int updateVUPUSRAmexBuss(AMEX_BUSINESS ab);
	public int updateVUPUSRAmexUnit(AMEX_UNIT au);
	
	public Message addMstrProd(String mstrProd, String amexWebId);
	public Message updateVUPMSTRProd(String msrtProd, String amexWebId);

	public Message addUserGroup(String userName, String userTypeVal);
	public Message updateUserGroup(String amexWebId, String originVal, String modifiedVal);
	
	public Message updateMarcFuncGroup(String empId, String amexWebId, String originVal, String modifiedVal, WebIServerSession session) ;
	public Message updateRGN(String lifExcepRegion, String amexWebId);
	public Message updateCTRY(String lifExcepCountry, String amexWebId);
	
	public Message loadUserByAmexWebId(String amexWebId);
	public Message addUser(MS_USER_ADMIN user);
	public Message editUserGeneralInfo(MS_USER_ADMIN user);
	public Message addMarcFuncGroup(String amexWebId, String marcFuncVal);
	public Message removeUser(String userIds);
}